<?php
//函数参数的默认值，某位置参数有默认值，那么其后的参数都必须有默认值
function f($name,$age=20){
    echo "$name, $age\n";
}
f('张三');
f('李四',22);

//可变数量的参数列表
function sum(...$numbers) {
    $acc = 0;
    foreach ($numbers as $n) {
        $acc += $n;
    }
    return $acc;
}
echo sum(1, 2, 3, 4),"\n";

//命名参数与位置参数可同时使用，此时命名参数必须在位置参数之后
function f2($name,$age=20,$sex='男'){
    echo "$name, $age, $sex\n";
}
f2('杨柳依依',sex:'女');
f2(sex:'女', name:'杨柳依依',age:18);

//匿名函数,就是未指定名称的函数。最经常用作回调函数 callable参数的值
$a=[2,3,4];
$r=array_map(function($v){
    return $v*$v;
},$a);
print_r($r);

$b=[10,100,1000];
$r=array_map(function($v1,$v2){
    return $v1*$v2;
}, $a, $b);
print_r($r);


